package com.ych.modules.base.dbEntity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Created with IntelliJ IDEA.
 * Author: Usopp.tsui
 * Date: 2020/12/12
 * Time: 10:58
 * Description:
 */
@Data
@TableName("t_user_account_recharge_order")
@ApiModel(value = "TUserAccountRechargeOrderEntity", description = "数据库-用户充值表")
public class TUserAccountRechargeOrderEntity extends AbstractPageEntity {
    @TableId("recharge_id")
    @ApiModelProperty(value = "主键", dataType = "String", notes = "主键")
    private String rechargeId;

    @TableField("user_id")
    @ApiModelProperty(value = "用户主键", dataType = "String", notes = "用户主键")
    private String userId;

    @TableField("payment_order_id")
    @ApiModelProperty(value = "支付订单id(例如：支付宝支付订单)如订单类型为下级注册赠送，则该订单号为注册赠送的订单的订单号", dataType = "String", notes = "支付订单id(例如：支付宝支付订单)如订单类型为下级注册赠送，则该订单号为注册赠送的订单的订单号")
    private String paymentOrderId;

    @TableField("recharge_channel")
    @ApiModelProperty(value = "充值渠道码值recharge_channel_type 10002001：管理员充值 10002002：支付宝 10002003：微信 ", dataType = "String", notes = "充值渠道码值recharge_channel_type")
    private String rechargeChannel;

    @TableField("recharge_status")
    @ApiModelProperty(value = "充值状态码值recharge_status_type 10003001：待付款 10003002：交易成功 10003003：交易关闭 10003004：交易退款 10003005：交易异常 10003006：退款中", dataType = "String", notes = "充值状态码值recharge_status_type")
    private String rechargeStatus;

    @TableField("cash_amount")
    @ApiModelProperty(value = "充值金额", dataType = "BigDecimal", notes = "充值金额")
    private BigDecimal cashAmount;

    @TableField("pay_time")
    @ApiModelProperty(value = "支付时间", dataType = "Date", notes = "支付时间")
    private Date payTime;

    @TableField("resp_text")
    @ApiModelProperty(value = "响应报文", dataType = "String", notes = "响应报文")
    private String respText;

    @TableField("vip")
    @ApiModelProperty(value = "当前订单对应的用户VIP级别", dataType = "Integer", notes = "当前订单对应的用户VIP级别")
    private Integer vip;

    @TableField("gold_coin_amount")
    @ApiModelProperty(value = "对应金币数量", dataType = "BigDecimal", notes = "对应金币数量")
    private BigDecimal goldCoinAmount;

    @TableField("raffle_ticket")
    @ApiModelProperty(value = "抽奖券数量", dataType = "Integer", notes = "抽奖券数量")
    private Integer raffleTicket;

    @TableField("create_time")
    @ApiModelProperty(value = "创建时间", dataType = "Date", notes = "创建时间")
    private Date createTime;

    @TableField("refund_amount")
    @ApiModelProperty(value = "退款金额", dataType = "BigDecimal", notes = "退款金额")
    private BigDecimal refundAmount;

    @TableField("refund_time")
    @ApiModelProperty(value = "退款时间", dataType = "Date", notes = "退款时间")
    private Date refundTime;

    @TableField("refund_reason")
    @ApiModelProperty(value = "退款原因", dataType = "String", notes = "退款原因")
    private String refundReason;

    @TableField("collection_account")
    @ApiModelProperty(value = "收款账户（哪一个支付宝/微信账号收款）", dataType = "String", notes = "收款账户（哪一个支付宝/微信账号收款）")
    private String collectionAccount;
}
